package com.xunsiya.service.system;

import com.xunsiya.system.vo.Company;
import com.xunsiya.system.vo.User;
import com.xunsiya.tools.common.msg.Msg;
import java.util.List;

/**
 * 单位管理
 * @author fw
 * @version 1.0
 *          <p/>
 *          <br/>
 *          <br/>修订人    修订时间      描述信息
 *          <br/>-----------------------------------------------------
 *          <br/>fengwei    2018/10/25    初始创建
 */
public interface CompanyService {
    /**
     * 增加企业
     * @param company
     * @return
     */
    public Msg insertCompany(Company company);
    /**
     * 修改企业
     * @param company
     * @return
     */
    public Msg modifyCompany(Company company);
    /**
     * 分页查询企业
     * @param company
     * @param pageIndex
     * @param pageSize
     * @return
     */
    public Msg queryCompanyForPage(Company company, Integer pageIndex, Integer pageSize);
    /**
     * 查询企业
     * @param companyId
     * @return
     */
    public Msg queryCompany(int companyId);
    /**
     * 删除的单位
     * @param id
     * @return
     */
    public Msg deleteCompany(int id);
    /**
     * 查询所有单位
     * @return
     */
    public Msg queryAllCompany();

    /**
     * 根据用户获取群组信息
     * @param companyId 用户所在群组id
     * @return Msg
     */
    public Msg getCompanyByUser(int companyId);

    /**
     * 查询所有的公司
     * @return
     */
    public List<Company> findAll();

    /**
     * 注册企业名称
     *
     * @param company 公司
     * @return
     */
    public int registerCompany(Company company);

    /**
     * 查询父id
     * @param companyId 公司编号
     * @return
     */
    public Company findParentId(int companyId);
    /**
     *根据用户名查询企业
     * @param userName 用户名
     * @return
     */
    public Company findCompanyByUser(String userName);

    /**
     * 保存订单
     *
     * @param company 公司
     * @param user 用户
     */
    public void saveOrder(Company company, User user);
}
